package com.pan.structual.facade.facade;

import com.pan.structual.facade.component.FrameCreate;
import com.pan.structual.facade.component.ShapeCreate;
import com.pan.structual.facade.component.TextCreate;

import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;

/**
 * 如何在不修改客户端代码的前提下使用新的外观类呢？解决方法之一是：引入一个抽象外观
 * 类，客户端针对抽象外观类编程，而在运行时再确定具体外观类
 *
 *
 *
 * 依赖倒置，面向接口编程
 * 符合开闭原则，对修改关闭，对扩展开放
 *
 */
public interface DrawFacade {
    public abstract void printShape(String shape, Color color,String text);

}
